[INFO] cloning repository https://github.com/Pogwat/primy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Pogwat/primy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPogwat%2Fprimy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPogwat%2Fprimy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e488420c4247852f549ba11d967d8c4adfe66674
[INFO] fixing Pogwat/primy against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPogwat%2Fprimy" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Pogwat/primy
[INFO] finished tweaking git repo https://github.com/Pogwat/primy
[INFO] tweaked toml for git repo https://github.com/Pogwat/primy written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Pogwat/primy on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Pogwat/primy already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fb5aea080b2ca53665c2c619ad5afa44b2f332deeca30ca5a361a9ad5f4c7b74
[INFO] running `Command { std: "docker" "start" "fb5aea080b2ca53665c2c619ad5afa44b2f332deeca30ca5a361a9ad5f4c7b74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fb5aea080b2ca53665c2c619ad5afa44b2f332deeca30ca5a361a9ad5f4c7b74" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fb5aea080b2ca53665c2c619ad5afa44b2f332deeca30ca5a361a9ad5f4c7b74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fb5aea080b2ca53665c2c619ad5afa44b2f332deeca30ca5a361a9ad5f4c7b74" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling delegate v0.13.5
[INFO] [stderr]     Checking primy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/bin/seg_seive_mis/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/bin/seg_seive_mis/primes.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::smallest_uint`
[INFO] [stdout]  --> src/bin/seg_seive_mis/full_seive.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::smallest_uint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `full_seive::FullSeive`
[INFO] [stdout]  --> src/bin/seg_seive_mis/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use full_seive::FullSeive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let limit = ((range as f64).sqrt() as usize / seive.spacing );
[INFO] [stdout]    |                 ^                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -     let limit = ((range as f64).sqrt() as usize / seive.spacing );
[INFO] [stdout] 89 +     let limit = (range as f64).sqrt() as usize / seive.spacing ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 |     for number_to_check in (0..limit) {
[INFO] [stdout]    |                            ^        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -     for number_to_check in (0..limit) {
[INFO] [stdout] 90 +     for number_to_check in 0..limit  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_end_val`
[INFO] [stdout]   --> src/bin/seg_seive_non_zero_usize/segmented_seive.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let new_end_val = new_start_val+Self::NUMS_PER_SEG;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_end_val`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len` and `append` are never used
[INFO] [stdout]   --> src/bin/seg_seive_non_zero_usize/primes.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Primes {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |             pub fn len(&self) -> usize;
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 28 |             pub fn push(&mut self, value: usize);
[INFO] [stdout] 29 |             pub fn append(&mut self, other: &mut Vec<usize>);
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `collect_array` is never used
[INFO] [stdout]  --> src/bin/seg_seive_non_zero_usize/array_collect.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait ArrayCollectExt: Iterator + Sized {
[INFO] [stdout]   |           --------------- method in this trait
[INFO] [stdout] 2 |     // The method takes a const generic size parameter `SIZE`
[INFO] [stdout] 3 |     fn collect_array<const SIZE: usize>(&mut self) -> Option<[Self::Item; SIZE]> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `GLOB_IDX_OFFSET_FROM_NORMAL`, `seg_start`, `is_value_within_seg`, `local_value_to_local_idx`, `global_value_to_local_idx`, and `next_local_multiples_iter` are never used
[INFO] [stdout]   --> src/bin/seg_seive_non_zero_usize/segmented_seive.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl <const SEG_SIZE:  usize> SegmentedSeive<SEG_SIZE> {
[INFO] [stdout]    | ------------------------------------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub const GLOB_IDX_OFFSET_FROM_NORMAL:usize = (Self::FIRST_START_NUM-1)/Self::STEP;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn seg_start(&self) -> usize {self.guess_dex(0)}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 30 |     pub fn seg_end(&self) -> usize {self.guess_dex(Self::SEG_SIZE-1)}
[INFO] [stdout] 31 |     pub fn is_value_within_seg(&self, value:usize) -> bool{ value <= self.seg_end() && value >= self.seg_start() }
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_value_to_local_idx(&self,local_value:usize) -> usize{ (local_value-self.seg_start())/Self::STEP }
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn global_value_to_local_idx(&self, global_value:usize) -> Option<usize> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn next_local_multiples_iter(&self, local_start_idx:usize,multiple:usize) -> Option<Peekable<impl Iterator<Item = & Option<N...
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leftover`
[INFO] [stdout]   --> src/bin/big_seive/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let leftover = 1..3;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leftover`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leftover`
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let leftover = 1..3;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leftover`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prime`
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |         if let Some(prime) = seive[number_to_check] {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_prime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `range` is assigned to, but never used
[INFO] [stdout]   --> src/bin/seg_seive_mis/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut range:usize = 2000000000; 
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_range` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `range` is never read
[INFO] [stdout]   --> src/bin/seg_seive_mis/main.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |     if args.len()>1 { range = args[1].parse().unwrap_or(1000000);}
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MISPrimes` is never constructed
[INFO] [stdout]  --> src/bin/seg_seive_mis/primes.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MISPrimes<I:Sized,const SEG_SIZE:usize, const STEP:usize, const START_NUM:usize>
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `overestimate_num_of_primes`, `new`, `mis_index_to_global_index`, `global_index_to_value`, `mut_num_of_primes_this_loop`, and `max_factor_to_check` are never used
[INFO] [stdout]   --> src/bin/seg_seive_mis/primes.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | / impl  <I,const SEG_SIZE:usize, const STEP:usize,const START_NUM:usize>MISPrimes<I,SEG_SIZE,STEP,START_NUM> 
[INFO] [stdout] 16 | | where
[INFO] [stdout] 17 | |     I: PrimInt + Unsigned, // This restricts I to unsigned integers only!
[INFO] [stdout]    | |__________________________- associated items in this implementation
[INFO] [stdout] 18 |   {
[INFO] [stdout] 19 |       pub fn overestimate_num_of_primes(range:usize) -> usize {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |       pub fn new(range:usize) ->Self {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |       pub fn mis_index_to_global_index(&self, mis_index: usize) -> Option<usize> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |       pub fn global_index_to_value(mis_index:usize) -> usize {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |       pub fn mut_num_of_primes_this_loop(&mut self, loop_index:usize) -> &mut I {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |       pub fn max_factor_to_check(range:usize) -> usize {range.isqrt()}
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegSeive` is never constructed
[INFO] [stdout]  --> src/bin/seg_seive_mis/seg.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SegSeive<const SEG_SIZE: usize> {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start` and `range` are never read
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     struct Seive {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |         start:usize, /* from 0 */ 
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 22 |         spacing:usize,
[INFO] [stdout] 23 |         range:usize
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fast_calc_at_index` is never used
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |     impl Seive {
[INFO] [stdout]    |     ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |         fn fast_calc_at_index(&self, idx:usize) -> usize {self.spacing*idx+self.start}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/bin/seg_seive_mis/seg.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl <const SEG_SIZE:usize>SegSeive<SEG_SIZE> {
[INFO] [stdout]     | --------------------------------------------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new(range:usize) -> Self{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  20 |     pub fn num_of_seive_bumps_floor(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub fn local_ranges_idx(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub const START_NUM:usize =3;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout]  30 |     pub const STEP:usize =2;
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]  31 |
[INFO] [stdout]  32 |     pub fn clear_seive(&mut self) {self.seive.fill(true);}
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]  33 |
[INFO] [stdout]  34 |     pub fn bump_seive(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn seg_start_globdex(&self) -> usize { self.num_of_loops*SEG_SIZE}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  41 |     pub fn seg_end_globdex(&self) -> usize { self.seg_start_globdex()+SEG_SIZE-1}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]  42 |     
[INFO] [stdout]  43 |     pub fn guess_dex(&self, local_index:usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn index(&self, local_index:usize) -> Option<NonZeroUsize> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn find_set(&self, start:usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn global_value_to_global_idx(global_value:usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn seg_start(&self) -> usize {  self.guess_dex(0) }
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]  62 |     pub fn seg_end(&self) -> usize {  self.seg_start() + Self::STEP*SEG_SIZE }
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]  63 |     pub fn is_value_in_seg(&self, value:usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn is_global_index_in_seg(&self, global_idx:usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn global_idx_to_local_idx(&self, global_idx:usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn local_index_to_global_index(&self,local_index:usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn next_global_multiples_idx(global_idx:usize, multiple:usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn next_local_multiple(&self, local_index:usize, multiple:usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn mut_next_local_multiples_iter<'a>(&'a mut self, start:usize, multiple:usize) -> Option<Peekable<impl Iterator<Item = &'a...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn remove_multiple(&mut self, multiple:usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn remove_multiples_in_iter<'a>(&mut self, iterator: impl Iterator<Item = &'a usize>  ) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FullSeive` is never constructed
[INFO] [stdout]  --> src/bin/seg_seive_mis/full_seive.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FullSeive<I,const SEG_SIZE:usize> 
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SmallestUInt` is never used
[INFO] [stdout]  --> src/bin/seg_seive_mis/mapping.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait SmallestUInt {type Type;}
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UIntRouter` is never constructed
[INFO] [stdout]  --> src/bin/seg_seive_mis/mapping.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct UIntRouter<const N:usize>;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_smallest_type_num` is never used
[INFO] [stdout]   --> src/bin/seg_seive_mis/mapping.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const fn find_smallest_type_num(val: usize) -> usize {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bin/seg_seive_mis/mapping.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     else if val <= 18446744073709551615 { 18446744073709551615}
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_end_val`
[INFO] [stdout]   --> src/bin/seg_seive_non_zero_usize/segmented_seive.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let new_end_val = new_start_val+Self::NUMS_PER_SEG;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_end_val`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leftover`
[INFO] [stdout]   --> src/bin/big_seive/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let leftover = 1..3;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leftover`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len` and `append` are never used
[INFO] [stdout]   --> src/bin/seg_seive_non_zero_usize/primes.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Primes {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |             pub fn len(&self) -> usize;
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 28 |             pub fn push(&mut self, value: usize);
[INFO] [stdout] 29 |             pub fn append(&mut self, other: &mut Vec<usize>);
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `collect_array` is never used
[INFO] [stdout]  --> src/bin/seg_seive_non_zero_usize/array_collect.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait ArrayCollectExt: Iterator + Sized {
[INFO] [stdout]   |           --------------- method in this trait
[INFO] [stdout] 2 |     // The method takes a const generic size parameter `SIZE`
[INFO] [stdout] 3 |     fn collect_array<const SIZE: usize>(&mut self) -> Option<[Self::Item; SIZE]> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `GLOB_IDX_OFFSET_FROM_NORMAL`, `seg_start`, `is_value_within_seg`, `local_value_to_local_idx`, `global_value_to_local_idx`, and `next_local_multiples_iter` are never used
[INFO] [stdout]   --> src/bin/seg_seive_non_zero_usize/segmented_seive.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl <const SEG_SIZE:  usize> SegmentedSeive<SEG_SIZE> {
[INFO] [stdout]    | ------------------------------------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub const GLOB_IDX_OFFSET_FROM_NORMAL:usize = (Self::FIRST_START_NUM-1)/Self::STEP;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn seg_start(&self) -> usize {self.guess_dex(0)}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 30 |     pub fn seg_end(&self) -> usize {self.guess_dex(Self::SEG_SIZE-1)}
[INFO] [stdout] 31 |     pub fn is_value_within_seg(&self, value:usize) -> bool{ value <= self.seg_end() && value >= self.seg_start() }
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn local_value_to_local_idx(&self,local_value:usize) -> usize{ (local_value-self.seg_start())/Self::STEP }
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn global_value_to_local_idx(&self, global_value:usize) -> Option<usize> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn next_local_multiples_iter(&self, local_start_idx:usize,multiple:usize) -> Option<Peekable<impl Iterator<Item = & Option<N...
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `bitvec` in this scope
[INFO] [stdout]   --> src/bin/seg_seive_elisa_fano/elisa_fano.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use bitvec::prelude::BitVec;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `bitvec`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `bitvec`, use `cargo add bitvec` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `bitvec`
[INFO] [stdout]   --> src/bin/seg_seive_elisa_fano/elisa_fano.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bitvec::vec;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `bitvec`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `bitvec`, use `cargo add bitvec` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/bin/seg_seive_elisa_fano/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `range` is assigned to, but never used
[INFO] [stdout]   --> src/bin/seg_seive_elisa_fano/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut range:usize = 2000000000; 
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_range` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `range` is never read
[INFO] [stdout]   --> src/bin/seg_seive_elisa_fano/main.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 |     if args.len()>1 { range = args[1].parse().unwrap_or(1000000);}
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let limit = ((range as f64).sqrt() as usize / seive.spacing );
[INFO] [stdout]    |                 ^                                              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -     let limit = ((range as f64).sqrt() as usize / seive.spacing );
[INFO] [stdout] 89 +     let limit = (range as f64).sqrt() as usize / seive.spacing ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 |     for number_to_check in (0..limit) {
[INFO] [stdout]    |                            ^        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -     for number_to_check in (0..limit) {
[INFO] [stdout] 90 +     for number_to_check in 0..limit  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `primy` (bin "seg_seive_elisa_fano") due to 2 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: cannot find module or crate `bitvec` in this scope
[INFO] [stdout]   --> src/bin/seg_seive_elisa_fano/elisa_fano.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use bitvec::prelude::BitVec;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `bitvec`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `bitvec`, use `cargo add bitvec` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `bitvec`
[INFO] [stdout]   --> src/bin/seg_seive_elisa_fano/elisa_fano.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bitvec::vec;
[INFO] [stdout]    |     ^^^^^^ use of unresolved module or unlinked crate `bitvec`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `bitvec`, use `cargo add bitvec` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/bin/seg_seive_elisa_fano/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/bin/seg_seive_bool/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `leftover`
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let leftover = 1..3;
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leftover`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prime`
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |         if let Some(prime) = seive[number_to_check] {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_prime`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start` and `range` are never read
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     struct Seive {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |         start:usize, /* from 0 */ 
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 22 |         spacing:usize,
[INFO] [stdout] 23 |         range:usize
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fast_calc_at_index` is never used
[INFO] [stdout]   --> src/bin/some_big_sieve_impl/main.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 56 |     impl Seive {
[INFO] [stdout]    |     ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |         fn fast_calc_at_index(&self, idx:usize) -> usize {self.spacing*idx+self.start}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/bin/seg_seive_mis/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num::NonZeroUsize`
[INFO] [stdout]  --> src/bin/seg_seive_mis/primes.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num::NonZeroUsize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::smallest_uint`
[INFO] [stdout]  --> src/bin/seg_seive_mis/full_seive.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::smallest_uint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `full_seive::FullSeive`
[INFO] [stdout]  --> src/bin/seg_seive_mis/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use full_seive::FullSeive;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `range` is assigned to, but never used
[INFO] [stdout]   --> src/bin/seg_seive_elisa_fano/main.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let mut range:usize = 2000000000; 
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_range` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `range` is never read
[INFO] [stdout]   --> src/bin/seg_seive_elisa_fano/main.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 |     if args.len()>1 { range = args[1].parse().unwrap_or(1000000);}
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: methods `index`, `seg_start`, `seg_end`, and `is_value_in_seg` are never used
[INFO] [stdout]   --> src/bin/seg_seive_bool/seg.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl <const SEG_SIZE:usize>SegSeive<SEG_SIZE> {
[INFO] [stdout]    | --------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn index(&self, local_index:usize) -> Option<NonZeroUsize> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn seg_start(&self) -> usize {  self.guess_dex(0) }
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 62 |     pub fn seg_end(&self) -> usize {  self.seg_start() + Self::STEP*SEG_SIZE }
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 63 |     pub fn is_value_in_seg(&self, value:usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `primy` (bin "seg_seive_elisa_fano" test) due to 2 previous errors; 3 warnings emitted
[INFO] [stdout] warning: variable `range` is assigned to, but never used
[INFO] [stdout]   --> src/bin/seg_seive_mis/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut range:usize = 2000000000; 
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_range` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `range` is never read
[INFO] [stdout]   --> src/bin/seg_seive_mis/main.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |     if args.len()>1 { range = args[1].parse().unwrap_or(1000000);}
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MISPrimes` is never constructed
[INFO] [stdout]  --> src/bin/seg_seive_mis/primes.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MISPrimes<I:Sized,const SEG_SIZE:usize, const STEP:usize, const START_NUM:usize>
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `overestimate_num_of_primes`, `new`, `mis_index_to_global_index`, `global_index_to_value`, `mut_num_of_primes_this_loop`, and `max_factor_to_check` are never used
[INFO] [stdout]   --> src/bin/seg_seive_mis/primes.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | / impl  <I,const SEG_SIZE:usize, const STEP:usize,const START_NUM:usize>MISPrimes<I,SEG_SIZE,STEP,START_NUM> 
[INFO] [stdout] 16 | | where
[INFO] [stdout] 17 | |     I: PrimInt + Unsigned, // This restricts I to unsigned integers only!
[INFO] [stdout]    | |__________________________- associated items in this implementation
[INFO] [stdout] 18 |   {
[INFO] [stdout] 19 |       pub fn overestimate_num_of_primes(range:usize) -> usize {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |       pub fn new(range:usize) ->Self {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |       pub fn mis_index_to_global_index(&self, mis_index: usize) -> Option<usize> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |       pub fn global_index_to_value(mis_index:usize) -> usize {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |       pub fn mut_num_of_primes_this_loop(&mut self, loop_index:usize) -> &mut I {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |       pub fn max_factor_to_check(range:usize) -> usize {range.isqrt()}
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegSeive` is never constructed
[INFO] [stdout]  --> src/bin/seg_seive_mis/seg.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SegSeive<const SEG_SIZE: usize> {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/bin/seg_seive_mis/seg.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl <const SEG_SIZE:usize>SegSeive<SEG_SIZE> {
[INFO] [stdout]     | --------------------------------------------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new(range:usize) -> Self{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  20 |     pub fn num_of_seive_bumps_floor(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  24 |     pub fn local_ranges_idx(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub const START_NUM:usize =3;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout]  30 |     pub const STEP:usize =2;
[INFO] [stdout]     |               ^^^^
[INFO] [stdout]  31 |
[INFO] [stdout]  32 |     pub fn clear_seive(&mut self) {self.seive.fill(true);}
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]  33 |
[INFO] [stdout]  34 |     pub fn bump_seive(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn seg_start_globdex(&self) -> usize { self.num_of_loops*SEG_SIZE}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  41 |     pub fn seg_end_globdex(&self) -> usize { self.seg_start_globdex()+SEG_SIZE-1}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]  42 |     
[INFO] [stdout]  43 |     pub fn guess_dex(&self, local_index:usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn index(&self, local_index:usize) -> Option<NonZeroUsize> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn find_set(&self, start:usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn global_value_to_global_idx(global_value:usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn seg_start(&self) -> usize {  self.guess_dex(0) }
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]  62 |     pub fn seg_end(&self) -> usize {  self.seg_start() + Self::STEP*SEG_SIZE }
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]  63 |     pub fn is_value_in_seg(&self, value:usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn is_global_index_in_seg(&self, global_idx:usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn global_idx_to_local_idx(&self, global_idx:usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn local_index_to_global_index(&self,local_index:usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn next_global_multiples_idx(global_idx:usize, multiple:usize) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn next_local_multiple(&self, local_index:usize, multiple:usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn mut_next_local_multiples_iter<'a>(&'a mut self, start:usize, multiple:usize) -> Option<Peekable<impl Iterator<Item = &'a...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn remove_multiple(&mut self, multiple:usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn remove_multiples_in_iter<'a>(&mut self, iterator: impl Iterator<Item = &'a usize>  ) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FullSeive` is never constructed
[INFO] [stdout]  --> src/bin/seg_seive_mis/full_seive.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct FullSeive<I,const SEG_SIZE:usize> 
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SmallestUInt` is never used
[INFO] [stdout]  --> src/bin/seg_seive_mis/mapping.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait SmallestUInt {type Type;}
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UIntRouter` is never constructed
[INFO] [stdout]  --> src/bin/seg_seive_mis/mapping.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct UIntRouter<const N:usize>;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_smallest_type_num` is never used
[INFO] [stdout]   --> src/bin/seg_seive_mis/mapping.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const fn find_smallest_type_num(val: usize) -> usize {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/bin/seg_seive_mis/mapping.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     else if val <= 18446744073709551615 { 18446744073709551615}
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "fb5aea080b2ca53665c2c619ad5afa44b2f332deeca30ca5a361a9ad5f4c7b74", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb5aea080b2ca53665c2c619ad5afa44b2f332deeca30ca5a361a9ad5f4c7b74", kill_on_drop: false }`
[INFO] [stdout] fb5aea080b2ca53665c2c619ad5afa44b2f332deeca30ca5a361a9ad5f4c7b74
